#ifndef __VTABLE__
#define __VTABLE__

namespace vtDirect3DDevice9
{

enum {
  QueryInterface,
  AddRef,
  Release,
  TestCooperativeLevel,
  GetAvailableTextureMem,
  EvictManagedResources,
  GetDirect3D,
  GetDeviceCaps,
  GetDisplayMode,
  GetCreationParameters,
  SetCursorProperties,
  SetCursorPosition,
  ShowCursor,
  CreateAdditionalSwapChain,
  GetSwapChain,
  GetNumberOfSwapChains,
  Reset,
  Present,
  GetBackBuffer,
  GetRasterStatus,
  SetDialogBoxMode,
  SetGammaRamp,
  GetGammaRamp,
  CreateTexture,
  CreateVolumeTexture,
  CreateCubeTexture,
  CreateVertexBuffer,
  CreateIndexBuffer,
  CreateRenderTarget,
  CreateDepthStencilSurface,
  UpdateSurface,
  UpdateTexture,
  GetRenderTargetData,
  GetFrontBufferData,
  StretchRect,
  ColorFill,
  CreateOffscreenPlainSurface,
  SetRenderTarget,
  GetRenderTarget,
  SetDepthStencilSurface,
  GetDepthStencilSurface,
  BeginScene,
  EndScene,
  Clear,
  SetTransform,
  GetTransform,
  MultiplyTransform,
  SetViewport,
  GetViewport,
  SetMaterial,
  GetMaterial,
  SetLight,
  GetLight,
  LightEnable,
  GetLightEnable,
  SetClipPlane,
  GetClipPlane,
  SetRenderState,
  GetRenderState,
  CreateStateBlock,
  BeginStateBlock,
  EndStateBlock,
  SetClipStatus,
  GetClipStatus,
  GetTexture,
  SetTexture,
  GetTextureStageState,
  SetTextureStageState,
  GetSamplerState,
  SetSamplerState,
  ValidateDevice,
  SetPaletteEntries,
  GetPaletteEntries,
  SetCurrentTexturePalette,
  GetCurrentTexturePalette,
  SetScissorRect,
  GetScissorRect,
  SetSoftwareVertexProcessing,
  GetSoftwareVertexProcessing,
  SetNPatchMode,
  GetNPatchMode,
  DrawPrimitive,
  DrawIndexedPrimitive,
  DrawPrimitiveUP,
  DrawIndexedPrimitiveUP,
  ProcessVertices,
  CreateVertexDeclaration,
  SetVertexDeclaration,
  GetVertexDeclaration,
  SetFVF,
  GetFVF,
  CreateVertexShader,
  SetVertexShader,
  GetVertexShader,
  SetVertexShaderConstantF,
  GetVertexShaderConstantF,
  SetVertexShaderConstantI,
  GetVertexShaderConstantI,
  SetVertexShaderConstantB,
  GetVertexShaderConstantB,
  SetStreamSource,
  GetStreamSource,
  SetStreamSourceFreq,
  GetStreamSourceFreq,
  SetIndices,
  GetIndices,
  CreatePixelShader,
  SetPixelShader,
  GetPixelShader,
  SetPixelShaderConstantF,
  GetPixelShaderConstantF,
  SetPixelShaderConstantI,
  GetPixelShaderConstantI,
  SetPixelShaderConstantB,
  GetPixelShaderConstantB,
  DrawRectPatch,
  DrawTriPatch,
  DeletePatch,
  CreateQuery,
  SetConvolutionMonoKernel,
  ComposeRects,
  PresentEx,
  GetGPUThreadPriority,
  SetGPUThreadPriority,
  WaitForVBlank,
  CheckResourceResidency,
  SetMaximumFrameLatency,
  GetMaximumFrameLatency,
  CheckDeviceState,
  CreateRenderTargetEx,
  CreateOffscreenPlainSurfaceEx,
  CreateDepthStencilSurfaceEx,
  ResetEx,
  GetDisplayModeEx
};

}

#endif // __VTABLE__
